Embodiments of the present invention relate to three-dimensional environment user interfaces. More specifically, various embodiments of the present invention relate to user interface devices and methods allowing a user to intuitively navigate within a virtual three-dimensional environment.
Throughout the years, movie makers have often tried to tell stories involving make-believe creatures, far away places, and fantastic things. To do so, they have often relied on animation techniques to bring the make-believe to “life.” Two of the major paths in animation have traditionally included, drawing-based animation techniques and physical animation techniques.
Drawing-based animation techniques were refined in the twentieth century, by movie makers such as Walt Disney and used in movies such as “Snow White and the Seven Dwarfs” (1937) and “Fantasia” (1940). This animation technique typically required artists to hand-draw (or paint) animated images onto a transparent media or cels. After painting, each cel would then be captured or recorded onto film as one or more frames in a movie.
Physical-based animation techniques typically required the construction of miniature sets, props, and characters. The filmmakers would construct the sets, add props, and position the miniature characters in a pose. After the animator was happy with how everything was arranged, one or more frames of film would be taken of that specific arrangement. Physical animation techniques were developed by movie makers such as Willis O'Brien for movies such as “King Kong” (1933). Subsequently, these techniques were refined by animators such as Ray Harryhausen for movies including “Mighty Joe Young” (1948) and “Clash Of The Titans” (1981).
With the wide-spread availability of computers in the later part of the twentieth century, animators began to rely upon computers to assist in the animation process. This included using computers to facilitate drawing-based animation, for example, by painting images, by generating in-between images (“tweening”), and the like. This also included using computers to augment physical animation techniques. For example, physical models could be represented by virtual models in computer memory, and manipulated.
One of the pioneering companies in the computer animation/computer generated imagery (CGI) industry was Pixar. Pixar is more widely known as Pixar Animation Studios, the producer of animated features such as “Toy Story” (1995) and “Toy Story 2” (1999), “A Bugs Life” (1998), “Monsters, Inc.” (2001), “Finding Nemo” (2003), “The Incredibles” (2004), “Cars” (2006), “Ratatouille” (2007), “Wall-E” (2008) and others. In addition to creating animated features, Pixar developed computing platforms specially designed for animation, and software now known as RenderMan®. RenderMan® has been recognized with multiple Academy Awards® and has been well received in the CGI industry—47 of the last 50 Academy Award Nominees for Visual Effects have used RenderMan®.
The inventors of the present invention have recognized that a problem users encounter when producing animation is how to efficiently and intuitively navigate and manipulate virtual objects in a virtual three-dimensional environment. More particularly, the inventors have recognized that typical user interfaces such as keyboards, mice, and the like often hinder the animation process—users being able to place characters within a scene, specify positions of camera within a scene, move objects within a scene, and the like.
In typical cases, the user may use a keyboard to enter numeric values to specify positions of objects in a scene. The problem with this is that users often do not have an intuitive feel of the correspondence between the numeric values and the object placement. Instead, the user has to view the 3D placement results on a display, modify the numeric values, view the modified 3D placement results on the display, etc. A similar problem is seen with slider-type graphical user interfaces on the display, where the user must move a slider, view the results, etc.
Another problem is that for highly complex rendering and modeling software programs, graphical user interfaces often consume a substantial portion of the computer display with icons, menus, toolbars, and the like. Accordingly, the actual workspace for the user for the three-dimensional environment may be disadvantageously small (e.g. 75% of the display, 50% of the display, or the like).
In other cases, the user may use a mouse, or the like, to navigate in 3D space. The problem with this is that since the cursor typically moves only in 2D space, navigation in the 3D space it is often ambiguous or difficult to visualize. For example, assuming the user is attempting to place an object into an isometric view of a scene, if the cursor is moved upwards, it is ambiguous if the object should be moved vertically upwards, or further back into the scene.
In still other cases, specialized user interface devices including multiple knobs, specialized joysticks including additional degrees of freedom, or the like may be provided. Drawbacks to such devices however, include that operation of such devices are still often non-intuitive and difficult for users to master.
In light of the above, what is needed are efficient and intuitive methods for three-dimensional navigation and object manipulation, without the drawbacks described above.